
#ifndef __UnitInterface_h
#define __UnitInterface_h

#include "InterfaceBase.h"
// #include "com_buf.h"

/************************************************************************
***************************接口定义*********************************
*************************************************************************/

#define Interface_FrameType_Data				0x20	//数据帧
#define Interface_FrameType_Result				0x30	//结果帧
#define Interface_FrameType_Reply				0x40	//应答帧
#define Interface_FrameType_Warn				0x50	//警告帧
#define Interface_FrameType_Process				0x60	//过程帧
#define Interface_FrameType_Log					0xA0  	//日志帧

//----------------------------    下位机组件基本指令               ----------------------------------

#define Interface_BaseAct_Begain					0x00

//步进电机
#define Interface_BaseAct_StepMotor_Reset			0x01
#define Interface_BaseAct_StepMotor_GoTo			0x02
#define Interface_BaseAct_StepMotor_Run				0x03		//运行，微步/角度
#define Interface_BaseAct_StepMotor_RunTime			0x04		//旋转时间ms
#define Interface_BaseAct_StepMotor_Delay			0x05
#define Interface_BaseAct_StepMotor_Query			0x06		//查询当前微步数
#define Interface_BaseAct_StepMotor_Enable			0x07		//电源上电、下电

//有编码器电机
#define Interface_BaseAct_EncoderMotor_Reset		0x0A
#define Interface_BaseAct_EncoderMotor_GoTo			0x0B		//去到指定位置
#define Interface_BaseAct_EncoderMotor_Roll			0x0C		//转动，角度,霍尔数
#define Interface_BaseAct_EncoderMotor_RollTime		0x0D		//转动，时间ms

//无编码器电机
#define Interface_BaseAct_FreeMotor_Reset			0x10		
#define Interface_BaseAct_FreeMotor_RollTime		0x11		//转动，时间ms

//泵
#define Interface_BaseAct_Pump_RunTime				0x14		//运行，时间ms

//继电器
#define Interface_BaseAct_Relay_ConnectTime			0x17		//接通，时间ms	
#define Interface_BaseAct_Relay_Connect				0x18		//接通
#define Interface_BaseAct_Relay_Discon				0x19		//断开

//运动部件通用
#define Interface_BaseAct_Mov_Hold_Setup			0x1D		//运动部件，设置抱紧状态

#define Interface_BaseAct_Mov_Start					0x1E		//运动部件，启动
#define Interface_BaseAct_Mov_Stop					0x1F		//运动部件，停止

#define Interface_BaseAct_End						0x1F

//----------------------------       文件操作            ----------------------------------

#define Interface_MiscAct_Begain					0x20

#define Interface_File_Up							0x20 	//文件上传操作开始
	#define FILE_TYPE_MOTOR_PARARMS						0		//电机参数文件
	#define FILE_TYPE_NVM_PARARMS						1		//非易失性文件
	#define FILE_TYPE_LOCAL_LOG							2		//本地日志文件
	#define FILE_TYPE_TEMP_TRACE_DATA					3		//温度跟踪数据文件


#define Interface_File_Up_Pro						0x21	  	//文件非自动上传过程
		
#define Interface_File_Down							0x22	  	//文件下载

#define Interface_MiscAct_End						0x2F

#define Interface_Heartbeat							0x25	//心跳
#define Interface_Device_Status						0x24 //设备状态
//----------------------------      杂项指令            ----------------------------------

#define Interface_SetBoardNo						0x26	//设置板号
#define Interface_ProxyDelay						0x27	//延时.用在组合时序里,不占用硬件定时器，精度ms
#define Interface_Sys_ReBoot						0x28	//系统重启
#define Interface_Warn_Sound						0x29	//声音报警
#define Interface_Warn_light						0x2A	//光报警
#define Interface_HandShake							0x2B	//握手

#define Interface_Query_SimpleMiscStat				0x2C	//机器，简单杂项状态信息查询。注意和参数查询分开
#define Interface_Reply_SimpleMiscStat				0x2D	//机器，简单杂项状态信息查询返回。注意和参数查询分开

#define Interface_Reset_CommuStat					0x2E	//复位通讯状态

#define Interface_Weight_OnOff						0x2F	//称重开启、关闭
#define Interface_Query_Weight						0x30	//获取称重数据
#define Interface_Reply_Weight						0x31	//称重数据返回

//----------------------------    下位机组合指令               ----------------------------------

#define Interface_CombAct_Begain					0x40

#define Interface_CombAct_Reset						0x40	//复位
#define Interface_CombAct_Stop						0x41	//停止

#define Interface_CombAct_End						0x4F

//----------------------------    下位机参数设置指令                ----------------------------------

#define Interface_SystemSet_Begain				0x60 


#define Interface_Mortor_Param_Set				0x62
#define Interface_Mortor_Param_Save				0x63

#define Interface_Param_ResetDefault			0x66

#define Interface_Query_SW_Version				0x67
#define Interface_Reply_SW_Version				0x68
#define Interface_Query_HW_Version				0x69
#define Interface_Reply_HW_Version				0x6A

#define Interface_Set_NVM_Param					0x6B  
#define Interface_Query_NVM_Param				0x6C
#define Interface_Reply_NVM_Param				0x6D

#define Interface_Set_Temp_Param				0x6E
#define Interface_Query_Temp_Param				0x6F
#define Interface_Reply_Temp_Param				0x70
#define Interface_Query_IAP_Version				0x71

#define Interface_SystemSet_End					0x7F 

//-----------------------------     温度及功率控制              ----------------------------

#define Interface_Temp_Begin					0x80

//测温
#define Interface_Temp_AutoChekSetup			0x80		//自动测温设置
#define Interface_Read_Temp						0x81
#define Interface_Reply_Read_Temp				0x82

//加热器
#define Interface_Query_Heater_Err				0x87		//加热器错误查询
#define Interface_Info_Heater					0x88		//机芯信息
#define Interface_Heater_Power_Cfg				0x89		//加热器功率控制
#define Interface_Query_Heater_Cur_Status		0x8A		//获取加热器当前状态参数


//温控器
#define Interface_TempCtrler_Enable				0x8C		//温控器开启或关闭
#define Interface_TempCtrler_SetParas			0x8D		//温控器参数设置

#define Interface_Query_TempCtrler_Para			0x8E		//温控器单个参数查询
#define Interface_Reply_TempCtrler_Para			0x8F		//温控器单个参数查询返回

#define Interface_TempCtrler_Trace				0x93		//温控器温度跟踪开关设置
#define Interface_TempCtrler_Record				0x94		//温控器温度记录开关设置

#define Interface_Temp_End						0xA0


#define BOARD_SN_ADDR1 			(0x02) 		// 第3页，板子SN号1
#define BOARD_SN_ADDR2 			(0x03) 		// 第4页，板子SN号2


#endif//

